Semiconductor devices, such as memory devices, are normally in the form of a semiconductor substrate or chip mounted in a hermetically sealed package. An integrated circuit fabricated on the chip is then coupled to terminals that are accessible from outside the package. These externally accessible terminals can assume many forms, such as pins projecting outwardly and then downwardly along opposite sides of the integrated circuit package and terminal pads arranged in a group on the bottom of the integrated circuit package, which is known as a ball grid array, or “BGA” configuration.
Each externally accessible terminal of the integrated circuit package is normally associated with a particular function. For example, in an integrated memory device, a first set of externally accessible terminals are input terminals for respective memory address bits A0–AN, and a second set of externally accessible terminals are input terminals for respective command or status signals C0–CN, such as RAS*, CAS*, and a clock signal. A third set of externally accessible terminals are input/output terminals for respective data bits D0–DN. Finally, a fourth set of externally accessible terminals are reserved for power and ground.
Although integrated circuits are commonly used singly in many applications, other types of integrated circuits are most commonly used in groups. For example, memory devices in general, and dynamic random access memory (“DRAM”) devices in particular, are commonly used in groups as part of memory modules. Memory modules are generally in the form of an insulative substrate, such as a printed circuit board, having several memory devices mounted on one or both surfaces of the substrate. Conductors couple the memory devices to connectors that are generally formed by terminals extending along an edge of the substrate. One common memory module is a single in-line memory module, known as a “SIMM,” which includes a single row of memory devices extending across one or both surfaces of the substrate. Another common memory module is a double in-line memory module, known as a “DIMM,” which includes two rows of memory devices extending across one or both surfaces of the substrate.
A common phenomena associated with memory modules, whether SIMMs, DIMMs or some other variety, is the need for an ever increasing storage capacity. For this reason, the capacity of the memory devices mounted on the substrate, as well as the number of externally accessible terminals needed to address the memory devices, has continuously increased. The need for increased memory capacity also increases the need for memory modules having a larger number of memory devices. As a result, memory devices are now usually mounted on both sides of a memory module substrate, and the spacing between memory devices has continued to decrease. The decreased spacing between memory devices and the increased number of terminals has made it more difficult to route conductors to the externally accessible terminals of the memory devices.
One technique that has been used successfully to route conductors to a large number of terminals of closely spaced memory devices is to use substrates having a large number of layers on which conductors are formed. However, it is relatively expensive to provide substrates having a large number of layers, and a large number of closely spaced layers can result in excessive cross-talk between conductors on different layers and excessive conductor capacitance.
Another technique that has made it easier to route conductors to memory device terminals is mirroring in which the terminals of each memory device mounted on one surface of the substrate are position directly opposite corresponding terminals of a memory device mounted on the opposite surface of the substrate. This mirroring can occur horizontally, in which corresponding terminals are at the same locations on opposite sides of the mirrored packages, or vertically, in which corresponding terminals are at the same locations above and below a line extending across and bisecting the mirrored packages. In either case, mirroring has the advantage of allowing conductors to extend to a single respective location on the substrate, and to then connect to a respective terminal on each surface of the substrate at that location. Significantly, there is no need to route a conductor coupled to a terminal of an integrated circuit on one surface of the substrate to a different location for coupling to the corresponding terminal of an integrated surface on the other surface of the substrate.
Although memory device mirroring has the advantage of allowing more compact routing of conductors to the memory devices, it is not without some disadvantages. For memory device mirroring to occur, two different integrated circuit packages must be developed so that corresponding terminals of the two packages are mirror images of each other. The two different packages can theoretically use the same integrated circuit chip, but, in practice, this is not always feasible. In particular, it is important that the integrated circuits on one surface of the substrate respond to signals in the same manner as the integrated circuits on the opposite surface of the substrate. For the circuits to respond in the same manner, it is important for the lengths of corresponding signal paths of the two circuits be identical. Not only is it sometimes difficult to route signal lines from a circuit node to either of two different terminals, doing so creates an undesirable stub connection to the signal path between the terminal and the circuit node. This stub connection can produce signal reflections that can degrade the performance of the integrated circuit. For this reason, it can be necessary to fabricate two different integrated circuit chips, which are the mirror images of each other, for placement in the respective mirrored packages. The need to develop and stock two different integrated circuit packages, even if the same chip can be used for both packages, can significantly increase the cost of mirrored integrated circuits.
To alleviate the above-described problems of mirroring integrated circuits, programmable integrated circuits have been developed. With reference to FIG. 1, an integrated circuit memory device 10 includes a large number of terminals, although only terminals 12, 14 for RAS and CAS signals are shown. The RAS and CAS signals are horizontally mirrored, as explained above. The terminals 12, 14 are each coupled to a respective input of two multiplexers 16, 18. The output of the multiplexer 16 is coupled to a RAS signal node 20, and the output of the multiplexer 18 is coupled to a CAS signal node 22. The multiplexers 16, 18 are controlled by a signal line coupled to an external terminal 26 at a predetermined location. The terminal 12 is coupled to a first input of the multiplexer 16 and to a second input of the multiplexer 18. The terminal 14 is coupled to a second input of the multiplexer 16 and to a first input of the multiplexer 18. As a result, a low applied to the terminal 26 causes the terminal 12 to be coupled to the RAS signal node 20, and the terminal 14 to be coupled to the CAS signal node 22. A high applied to the terminal 26 causes the terminal 12 to be coupled to the CAS signal node 22, and the terminal 14 to be coupled to the RAS signal node 20.
In operation, two of the integrated circuit memory devices 10a,b are mounted on opposite surfaces of a substrate as shown in FIGS. 2A and 2B, respectively. As a result, the RAS signal is coupled to the terminal 12 of the memory devices 10a and the terminal 14 of the memory device 10b. The CAS signal is coupled to the terminal 14 of the memory devices 10a and the terminal 12 of the memory device 10b. However, the terminal 26 of the memory device 10a is coupled to ground potential, and the terminal 26 of the memory device 10b is coupled to a supply voltage. Therefore, the multiplexer 16 (FIG. 1) couples the RAS signal to the RAS signal node 20 of both memory devices 10a,b, and the multiplexer 18 couples the CAS signal to the CAS signal node 22 of both memory devices 10a,b. 
The technique explained with reference to FIGS. 1 and 2A,B has the advantage of allowing mirroring to occur using a single integrated circuit mounted on opposite sides of a substrate, and avoids many of the above-mentioned disadvantages of using two different integrated circuits. However, mirroring using an internal routing circuit, such as the multiplexers 16, 18 shown in FIG. 1, has the disadvantage of requiring that a routing circuit for each terminal be fabricated on a semiconductor substrate, thereby using area that could be used for the integrated circuit itself. As a result, the use of routing circuits can significantly increase the cost of memory devices, particularly in view of the large number of terminals present in memory devices that each require a routing circuit, as well as the large number of memory devices included in many systems. The routing circuits can also introduce undesirable delays in the coupling of the RAS and CAS signals to their respective nodes 20, 22.
Another problem in routing conductors to memory devices in memory modules occurs when the memory module includes a memory hub or register through which signals are routed to and from the memory devices. As shown in FIG. 3, a memory module 30 includes memory hub 32 mounted on a substrate 34. The memory module 30 also includes a plurality of memory devices mounted on the substrate 34, two of which 38, 40 are shown in FIG. 3. In the memory module 30 of FIG. 3, each signal transmitted and received by the memory hub 32 is transmitted and received on a first set of terminals coupled to the memory device 38 on the left of the substrate 34 and a second set of terminals coupled to the memory device 40 on the right side of the substrate 34. One of the signals transmitted by the memory hub, i.e., the A0 address bit, is shown in FIG. 3, and this address bit is coupled to correspondingly positioned terminals of the memory devices 38, 40. However, since the A0 terminal is located on the left side of both memory devices 38, 40, the path to the A0 terminal of the left memory device 38 is longer than the path to the A0 terminal of the right memory device 40. As a result, the performance of the two memory devices 38, 40 may not be symmetrical. A similar problem exists when coupling signals from between memory devices and a register (not shown) of a registered memory module.
The above-described difficulties incurred in coupling signals to and from integrated circuits, such as memory devices, creates a need for a mirroring technique that allows a single integrated circuit to be mounted on opposite surfaces of a substrate with correspondingly positioned terminals coupled together, and which does not require internal routing circuitry in each memory device.